package com.omn.listazakupow.controller;

import java.util.HashMap;
import java.util.Map;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.portlet.ModelAndView;

import com.liferay.counter.service.CounterLocalServiceUtil;
import com.omn.listazakupow.db.model.PozycjeListyZakupow;
import com.omn.listazakupow.db.model.impl.PozycjeListyZakupowImpl;
import com.omn.listazakupow.db.service.PozycjeListyZakupowLocalServiceUtil;

@Controller
@RequestMapping("VIEW")
public class AddItemController {

	@RequestMapping("view")
	public void handleActionRequest(ActionRequest request,
			ActionResponse response) throws Exception {

		int id = -1;
		PozycjeListyZakupow pozycjeListyZakupowRob = new PozycjeListyZakupowImpl();
		if (request.getParameter("id") != null) {
			id = Integer.parseInt(request.getParameter("id"));
		}

		response.setRenderParameter("action", "view");
		if (request.getParameter("listaZakupowId") != null)
			response.setRenderParameter("listaZakupowId", request.getParameter("listaZakupowId"));

		if (request.getParameter("delete") != null) {
			pozycjeListyZakupowRob.setId(id);
			PozycjeListyZakupowLocalServiceUtil
					.deletePozycjeListyZakupow(pozycjeListyZakupowRob);
			return;
		}

		if (id == -1)
			pozycjeListyZakupowRob.setId(CounterLocalServiceUtil
					.increment(PozycjeListyZakupow.class.getName()));
		else
			pozycjeListyZakupowRob.setId(id);

		String param = request.getParameter("ilosc");
		if (param == null || param.trim().isEmpty()) {
			pozycjeListyZakupowRob.setId(0);
		} else {
			try {
				pozycjeListyZakupowRob.setIlosc(Double.parseDouble(param));
			} catch (Exception e) {
				pozycjeListyZakupowRob.setIlosc(0D);
			}
		}

		param = request.getParameter("jednostka");
		if (param == null || param.trim().isEmpty()) {
			pozycjeListyZakupowRob.setJednostka("");
		} else {
			pozycjeListyZakupowRob.setJednostka(param);
		}

		param = request.getParameter("listaZakupowId");
		if (param != null || !param.trim().isEmpty()) {
			pozycjeListyZakupowRob.setListaZakupowId(Long.valueOf(param));
		}
		
		pozycjeListyZakupowRob.setNazwa(request.getParameter("nazwa"));
	

		if (id == -1)
			PozycjeListyZakupowLocalServiceUtil
					.addPozycjeListyZakupow(pozycjeListyZakupowRob);
		else
			PozycjeListyZakupowLocalServiceUtil
					.updatePozycjeListyZakupow(pozycjeListyZakupowRob);
	}

	@RequestMapping("view")
	public ModelAndView handleRenderRequest(RenderRequest request,
			RenderResponse response) throws Exception {
		Map<String, Object> model = new HashMap<String, Object>();

		return new ModelAndView("additem", model);
	}

	@RequestMapping
	protected String defaultView() {
		return "view";
	}

}